1. Field of the Invention
The present invention relates to an information processing system or a control system using means such as a computer and comprising a multiplicity of processes which operate concurrently and a multiplicity of data items created by these processes, and in particular, to a method and an apparatus for synchronized concurrent processes.
2. Description of the Prior Art
In a realtime system, a plurality of processes (tasks) which share data items operate concurrently. Although the concurrent operations conducted by processes improve the response performance of the system, the deterministic characteristic of the system is lowered. A system without the deterministic characteristic is apt to cause errors with respect to the execution sequence, and it is quite difficult to detect such an error in advance and to correct the error. Consequently, a realtime system requires a means (control of concurrent process operations) for providing the deterministic characteristic. Although the Communicating Sequential Process (CSP) of Hoare (C.A.R., Hoare, CACM, vol 21, pp. 666-677 (1978)) is a superb system of a data driven type of controlling the sequence of process operations, it has a problem that shared data can not be handled.
In a realtime system comprising a plurality of processes (steps for sequentially executing programs) and a plurality of data items (results of process operations), each process generates data items to be referred to by other processes by referring to data items created by other processes. As a result, a data item is shared among a plurality of processes, and accordingly, the following control for process operation sequence are required.
(1) Synchronous control
If a process is to refer to a data item generated by another process, the data item should be allowed to be referred to only when the data item has been generated.
(2) Mutual exclusive control
A data item which is in the process of being referred to or updated by a process should be inhibited from being updated by other processes.
Insertion of procedures necessary for the synchronous and mutual exclusive controls into an intermediate location of a program is difficult. It is even more difficult to prove that these controls are sufficient. It is desirable that the procedures for the synchronous and mutual exclusive control not be required to be inserted in the program.